This demonstrates how to use the functions in safegraph_process_patterns_functions.R.
library(tidyverse)
library(tigris)
library(sf)
library(mapview)
Sys.setenv(CENSUS_KEY="b88495f8315f45b2d100dee9ba8f4c489a7371c2")
options(
tigris_class = "sf",
tigris_use_cache = TRUE
)
# Load the processing functions. This also loads the normalization functions.
source("safegraph_process_patterns_functions.R")
# SET your path here to the covid19analysis folder.
sg_path <- 'P:/SFBI/Restricted Data Library/Safegraph/covid19analysis/'
# SET your path here to the github covid folder
github_path <- ''
The functions don’t use ca_poi.rds but you will likely want make use of it to get NAICS codes and lat/long for POIs.
poi_ca <- readRDS(paste0(sg_path,'ca_poi.rds'))
Load weekly patterns and corresponding home panel summary.
patterns_W190311 <-
readRDS(paste0(sg_path,'weekly-patterns/v2/main-file/2019-03-11-weekly-patterns-ca.rds'))
hps_W190311 <-
readRDS(paste0(sg_path,'weekly-patterns/v2/home-summary-file/2019-03-11-home-panel-summary.rds'))
Filter by geography or POI type if desired. This will speed up the processing. I’m demonstrating below how to filter by spatial join because the city field in Safegraph may not be accurate for some POIs.
sj_patterns_W190311 <-
patterns_W190311 %>%
left_join(
poi_ca %>%
dplyr::select(
safegraph_place_id,
longitude,
latitude,
naics_code
),
by = "safegraph_place_id"
) %>%
filter(!is.na(longitude)) %>%
mutate(
long = longitude,
lat = latitude
) %>%
st_as_sf(coords = c("long","lat")) %>%
st_set_crs(4326) %>%
st_join(
places("CA", cb=F, progress_bar=F) %>%
filter(NAME == "San Jose") %>%
st_transform(4326) %>%
dplyr::select(NAME),
left=F
)
sj_grocery_patterns_W190311 <-
sj_patterns_W190311 %>%
filter(naics_code == 445110)
kable(
head(
sj_grocery_patterns_W190311 %>%
dplyr::select(
location_name,
street_address,
raw_visit_counts
) %>%
arrange(desc(raw_visit_counts))
)
)
| location_name | street_address | raw_visit_counts | geometry |
|---|---|---|---|
| Safeway | 6477 Almaden Expy | 384 | c(-121.861449, 37.219503) |
| Safeway | 5760 Cottle Rd | 339 | c(-121.802882, 37.246445) |
| Sprouts Farmers Market | 1130 Branham Ln | 321 | c(-121.878189, 37.261821) |
| Lucky Supermarkets | 565 W Capitol Expy | 318 | c(-121.85383, 37.276111) |
| Safeway | 1300 W San Carlos St | 317 | c(-121.911924, 37.322976) |
| Cisco Lakeview Cafe | 225 E Tasman Dr | 287 | c(-121.935025, 37.414563) |
Now we will start using the processing functions. First, just using normBG() will expand the origins but otherwise provide normalized visit counts for the week. You can group_by(safegraph_place_id) to sum up the weekly visit counts for a POI, or you can group_by(origin_census_block_group) to sum up the weekly visit counts for origins.
sj_grocery_patterns_W190311_weekly <-
normBG(sj_grocery_patterns_W190311,hps_W190311)
# saveRDS(sj_grocery_patterns_W190311_weekly, paste0(sg_path,"weekly-patterns/v2/sj_grocery_patterns_W190311_weekly.rds"))
# sj_patterns_W190311_daily <- readRDS(paste0(sg_path,"sj_grocery_patterns_W190311_weekly.rds"))
kable(
sj_grocery_patterns_W190311_weekly %>%
arrange(desc(raw_visit_counts)) %>%
dplyr::select(
location_name,
street_address,
origin_census_block_group,
origin_raw_visitor_counts_high,
origin_raw_visitor_counts_low,
visit_counts_high,
visit_counts_low
) %>%
.[1:37,]
)
| location_name | street_address | origin_census_block_group | origin_raw_visitor_counts_high | origin_raw_visitor_counts_low | visit_counts_high | visit_counts_low |
|---|---|---|---|---|---|---|
| Safeway | 6477 Almaden Expy | 060855119051 | 24 | 24 | 561.50487 | 561.50487 |
| Safeway | 6477 Almaden Expy | 060855119093 | 21 | 21 | 440.18876 | 440.18876 |
| Safeway | 6477 Almaden Expy | 060855119072 | 20 | 20 | 619.54938 | 619.54938 |
| Safeway | 6477 Almaden Expy | 060855119092 | 18 | 18 | 368.30534 | 368.30534 |
| Safeway | 6477 Almaden Expy | 060855119121 | 17 | 17 | 330.08034 | 330.08034 |
| Safeway | 6477 Almaden Expy | 060855119122 | 15 | 15 | 449.70100 | 449.70100 |
| Safeway | 6477 Almaden Expy | 060855119113 | 13 | 13 | 265.52646 | 265.52646 |
| Safeway | 6477 Almaden Expy | 060855119112 | 11 | 11 | 257.79550 | 257.79550 |
| Safeway | 6477 Almaden Expy | 060855119103 | 10 | 10 | 249.88451 | 249.88451 |
| Safeway | 6477 Almaden Expy | 060855119071 | 10 | 10 | 234.20204 | 234.20204 |
| Safeway | 6477 Almaden Expy | 060855119143 | 10 | 10 | 220.91425 | 220.91425 |
| Safeway | 6477 Almaden Expy | 060855119102 | 9 | 9 | 153.73839 | 153.73839 |
| Safeway | 6477 Almaden Expy | 060855119091 | 9 | 9 | 240.55959 | 240.55959 |
| Safeway | 6477 Almaden Expy | 060855119123 | 9 | 9 | 210.93045 | 210.93045 |
| Safeway | 6477 Almaden Expy | 060855119141 | 7 | 7 | 169.06276 | 169.06276 |
| Safeway | 6477 Almaden Expy | 060855119111 | 6 | 6 | 177.21293 | 177.21293 |
| Safeway | 6477 Almaden Expy | 060855119101 | 6 | 6 | 141.97835 | 141.97835 |
| Safeway | 6477 Almaden Expy | 060855119131 | 4 | 2 | 107.95463 | 53.97732 |
| Safeway | 6477 Almaden Expy | 060855067021 | 4 | 2 | 124.87060 | 62.43530 |
| Safeway | 6477 Almaden Expy | 060855030032 | 4 | 2 | 174.19359 | 87.09680 |
| Safeway | 6477 Almaden Expy | 060855061021 | 4 | 2 | 114.52448 | 57.26224 |
| Safeway | 6477 Almaden Expy | 060552003022 | 4 | 2 | 139.91687 | 69.95843 |
| Safeway | 6477 Almaden Expy | 060855119132 | 4 | 2 | 157.28144 | 78.64072 |
| Safeway | 6477 Almaden Expy | 060855029092 | 4 | 2 | 74.20958 | 37.10479 |
| Safeway | 6477 Almaden Expy | 060855011023 | 4 | 2 | 42.45886 | 21.22943 |
| Safeway | 6477 Almaden Expy | 060855035061 | 4 | 2 | 115.29726 | 57.64863 |
| Safeway | 6477 Almaden Expy | 060372765002 | 4 | 2 | 86.29815 | 43.14907 |
| Safeway | 6477 Almaden Expy | 060855067023 | 4 | 2 | 129.82007 | 64.91003 |
| Safeway | 6477 Almaden Expy | 060855123073 | 4 | 2 | 166.16978 | 83.08489 |
| Safeway | 6477 Almaden Expy | 060855029072 | 4 | 2 | 107.52300 | 53.76150 |
| Safeway | 6477 Almaden Expy | 060855120371 | 4 | 2 | 113.50124 | 56.75062 |
| Safeway | 6477 Almaden Expy | 060855120301 | 4 | 2 | 67.94267 | 33.97133 |
| Safeway | 6477 Almaden Expy | 060855018001 | 4 | 2 | 152.52270 | 76.26135 |
| Safeway | 6477 Almaden Expy | 060855023011 | 4 | 2 | 126.21927 | 63.10963 |
| Safeway | 6477 Almaden Expy | 060855122002 | 4 | 2 | 81.81036 | 40.90518 |
| Safeway | 6477 Almaden Expy | 060855119133 | 4 | 2 | 92.99528 | 46.49764 |
| Safeway | 6477 Almaden Expy | NA | 10 | 48 | 256.72706 | 1232.28987 |
grocery_visits_cbg <-
sj_grocery_patterns_W190311_weekly %>%
group_by(origin_census_block_group) %>%
summarize(visit_counts_high = sum(visit_counts_high)) %>%
left_join(
block_groups("CA","Santa Clara", cb=F,progress_bar=F) %>%
dplyr::select(origin_census_block_group = GEOID)
) %>%
st_as_sf() %>%
filter(!is.na(origin_census_block_group))
mapview(
grocery_visits_cbg,
zcol = "visit_counts_high",
layer.name = "Week of<br>3/11/19<br>Grocery<br>Visits"
)
Next, getting daily visits.
sj_grocery_patterns_W190311_daily <-
process_patterns_daily(sj_grocery_patterns_W190311,hps_W190311)
sj_grocery_patterns_W190311_daily <-
sj_grocery_patterns_W190311_daily %>%
left_join(
sj_patterns_W190311 %>%
as.data.frame() %>%
dplyr::select(
safegraph_place_id,
location_name,
street_address,
naics_code
)
)
kable(
sj_grocery_patterns_W190311_daily %>%
arrange(desc(raw_visit_counts),date) %>%
dplyr::select(
location_name,
street_address,
date,
daily_visits,
visit_counts_high,
visit_counts_low
) %>%
.[1:7,]
)
| location_name | street_address | date | daily_visits | visit_counts_high | visit_counts_low |
|---|---|---|---|---|---|
| Safeway | 6477 Almaden Expy | 2019-03-11 | 59 | 1155.9347 | 1138.6969 |
| Safeway | 6477 Almaden Expy | 2019-03-12 | 45 | 881.6451 | 868.4976 |
| Safeway | 6477 Almaden Expy | 2019-03-13 | 53 | 1038.3820 | 1022.8972 |
| Safeway | 6477 Almaden Expy | 2019-03-14 | 40 | 783.6846 | 771.9979 |
| Safeway | 6477 Almaden Expy | 2019-03-15 | 55 | 1077.5663 | 1061.4971 |
| Safeway | 6477 Almaden Expy | 2019-03-16 | 62 | 1214.7111 | 1196.5967 |
| Safeway | 6477 Almaden Expy | 2019-03-17 | 70 | 1371.4480 | 1350.9963 |
ggplot(
data = sj_grocery_patterns_W190311_daily %>%
group_by(date) %>%
summarize(
visit_counts_high = sum(visit_counts_high),
visit_counts_low = sum(visit_counts_low)
)
) +
geom_line(
aes(
x = date,
y = visit_counts_high
)
) +
geom_line(
aes(
x = date,
y = visit_counts_low
)
)
Next, hourly. I will just use grocery stores.
sj_grocery_patterns_W190311_hourly <-
process_patterns_hourly(sj_grocery_patterns_W190311,hps_W190311)
sj_grocery_patterns_W190311_hourly <-
sj_grocery_patterns_W190311_hourly %>%
left_join(
sj_patterns_W190311 %>%
as.data.frame() %>%
dplyr::select(
safegraph_place_id,
location_name,
street_address,
naics_code
)
)
kable(
sj_grocery_patterns_W190311_hourly %>%
arrange(desc(raw_visit_counts),date,hour) %>%
dplyr::select(
location_name,
street_address,
date,
hour,
hourly_visits,
visit_counts_hourly_high,
visit_counts_hourly_low
) %>%
.[1:168,]
)
| location_name | street_address | date | hour | hourly_visits | visit_counts_hourly_high | visit_counts_hourly_low |
|---|---|---|---|---|---|---|
| Safeway | 6477 Almaden Expy | 2019-03-11 | 1 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-11 | 2 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-11 | 3 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-11 | 4 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-11 | 5 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-11 | 6 | 2 | 39.18423 | 38.59989 |
| Safeway | 6477 Almaden Expy | 2019-03-11 | 7 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-11 | 8 | 3 | 58.77634 | 57.89984 |
| Safeway | 6477 Almaden Expy | 2019-03-11 | 9 | 2 | 39.18423 | 38.59989 |
| Safeway | 6477 Almaden Expy | 2019-03-11 | 10 | 3 | 58.77634 | 57.89984 |
| Safeway | 6477 Almaden Expy | 2019-03-11 | 11 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-11 | 12 | 5 | 97.96057 | 96.49974 |
| Safeway | 6477 Almaden Expy | 2019-03-11 | 13 | 6 | 117.55268 | 115.79968 |
| Safeway | 6477 Almaden Expy | 2019-03-11 | 14 | 4 | 78.36846 | 77.19979 |
| Safeway | 6477 Almaden Expy | 2019-03-11 | 15 | 4 | 78.36846 | 77.19979 |
| Safeway | 6477 Almaden Expy | 2019-03-11 | 16 | 5 | 97.96057 | 96.49974 |
| Safeway | 6477 Almaden Expy | 2019-03-11 | 17 | 5 | 97.96057 | 96.49974 |
| Safeway | 6477 Almaden Expy | 2019-03-11 | 18 | 5 | 97.96057 | 96.49974 |
| Safeway | 6477 Almaden Expy | 2019-03-11 | 19 | 5 | 97.96057 | 96.49974 |
| Safeway | 6477 Almaden Expy | 2019-03-11 | 20 | 5 | 97.96057 | 96.49974 |
| Safeway | 6477 Almaden Expy | 2019-03-11 | 21 | 3 | 58.77634 | 57.89984 |
| Safeway | 6477 Almaden Expy | 2019-03-11 | 22 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-11 | 23 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-11 | 24 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-12 | 1 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-12 | 2 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-12 | 3 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-12 | 4 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-12 | 5 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-12 | 6 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-12 | 7 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-12 | 8 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-12 | 9 | 3 | 58.77634 | 57.89984 |
| Safeway | 6477 Almaden Expy | 2019-03-12 | 10 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-12 | 11 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-12 | 12 | 3 | 58.77634 | 57.89984 |
| Safeway | 6477 Almaden Expy | 2019-03-12 | 13 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-12 | 14 | 2 | 39.18423 | 38.59989 |
| Safeway | 6477 Almaden Expy | 2019-03-12 | 15 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-12 | 16 | 4 | 78.36846 | 77.19979 |
| Safeway | 6477 Almaden Expy | 2019-03-12 | 17 | 4 | 78.36846 | 77.19979 |
| Safeway | 6477 Almaden Expy | 2019-03-12 | 18 | 10 | 195.92114 | 192.99947 |
| Safeway | 6477 Almaden Expy | 2019-03-12 | 19 | 5 | 97.96057 | 96.49974 |
| Safeway | 6477 Almaden Expy | 2019-03-12 | 20 | 3 | 58.77634 | 57.89984 |
| Safeway | 6477 Almaden Expy | 2019-03-12 | 21 | 3 | 58.77634 | 57.89984 |
| Safeway | 6477 Almaden Expy | 2019-03-12 | 22 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-12 | 23 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-12 | 24 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-13 | 1 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-13 | 2 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-13 | 3 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-13 | 4 | 2 | 39.18423 | 38.59989 |
| Safeway | 6477 Almaden Expy | 2019-03-13 | 5 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-13 | 6 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-13 | 7 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-13 | 8 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-13 | 9 | 3 | 58.77634 | 57.89984 |
| Safeway | 6477 Almaden Expy | 2019-03-13 | 10 | 3 | 58.77634 | 57.89984 |
| Safeway | 6477 Almaden Expy | 2019-03-13 | 11 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-13 | 12 | 3 | 58.77634 | 57.89984 |
| Safeway | 6477 Almaden Expy | 2019-03-13 | 13 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-13 | 14 | 3 | 58.77634 | 57.89984 |
| Safeway | 6477 Almaden Expy | 2019-03-13 | 15 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-13 | 16 | 4 | 78.36846 | 77.19979 |
| Safeway | 6477 Almaden Expy | 2019-03-13 | 17 | 5 | 97.96057 | 96.49974 |
| Safeway | 6477 Almaden Expy | 2019-03-13 | 18 | 7 | 137.14480 | 135.09963 |
| Safeway | 6477 Almaden Expy | 2019-03-13 | 19 | 8 | 156.73691 | 154.39958 |
| Safeway | 6477 Almaden Expy | 2019-03-13 | 20 | 5 | 97.96057 | 96.49974 |
| Safeway | 6477 Almaden Expy | 2019-03-13 | 21 | 5 | 97.96057 | 96.49974 |
| Safeway | 6477 Almaden Expy | 2019-03-13 | 22 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-13 | 23 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-13 | 24 | 2 | 39.18423 | 38.59989 |
| Safeway | 6477 Almaden Expy | 2019-03-14 | 1 | 2 | 39.18423 | 38.59989 |
| Safeway | 6477 Almaden Expy | 2019-03-14 | 2 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-14 | 3 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-14 | 4 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-14 | 5 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-14 | 6 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-14 | 7 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-14 | 8 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-14 | 9 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-14 | 10 | 3 | 58.77634 | 57.89984 |
| Safeway | 6477 Almaden Expy | 2019-03-14 | 11 | 3 | 58.77634 | 57.89984 |
| Safeway | 6477 Almaden Expy | 2019-03-14 | 12 | 2 | 39.18423 | 38.59989 |
| Safeway | 6477 Almaden Expy | 2019-03-14 | 13 | 4 | 78.36846 | 77.19979 |
| Safeway | 6477 Almaden Expy | 2019-03-14 | 14 | 3 | 58.77634 | 57.89984 |
| Safeway | 6477 Almaden Expy | 2019-03-14 | 15 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-14 | 16 | 4 | 78.36846 | 77.19979 |
| Safeway | 6477 Almaden Expy | 2019-03-14 | 17 | 2 | 39.18423 | 38.59989 |
| Safeway | 6477 Almaden Expy | 2019-03-14 | 18 | 3 | 58.77634 | 57.89984 |
| Safeway | 6477 Almaden Expy | 2019-03-14 | 19 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-14 | 20 | 4 | 78.36846 | 77.19979 |
| Safeway | 6477 Almaden Expy | 2019-03-14 | 21 | 3 | 58.77634 | 57.89984 |
| Safeway | 6477 Almaden Expy | 2019-03-14 | 22 | 2 | 39.18423 | 38.59989 |
| Safeway | 6477 Almaden Expy | 2019-03-14 | 23 | 2 | 39.18423 | 38.59989 |
| Safeway | 6477 Almaden Expy | 2019-03-14 | 24 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-15 | 1 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-15 | 2 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-15 | 3 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-15 | 4 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-15 | 5 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-15 | 6 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-15 | 7 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-15 | 8 | 3 | 58.77634 | 57.89984 |
| Safeway | 6477 Almaden Expy | 2019-03-15 | 9 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-15 | 10 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-15 | 11 | 5 | 97.96057 | 96.49974 |
| Safeway | 6477 Almaden Expy | 2019-03-15 | 12 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-15 | 13 | 4 | 78.36846 | 77.19979 |
| Safeway | 6477 Almaden Expy | 2019-03-15 | 14 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-15 | 15 | 6 | 117.55268 | 115.79968 |
| Safeway | 6477 Almaden Expy | 2019-03-15 | 16 | 6 | 117.55268 | 115.79968 |
| Safeway | 6477 Almaden Expy | 2019-03-15 | 17 | 7 | 137.14480 | 135.09963 |
| Safeway | 6477 Almaden Expy | 2019-03-15 | 18 | 7 | 137.14480 | 135.09963 |
| Safeway | 6477 Almaden Expy | 2019-03-15 | 19 | 6 | 117.55268 | 115.79968 |
| Safeway | 6477 Almaden Expy | 2019-03-15 | 20 | 4 | 78.36846 | 77.19979 |
| Safeway | 6477 Almaden Expy | 2019-03-15 | 21 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-15 | 22 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-15 | 23 | 2 | 39.18423 | 38.59989 |
| Safeway | 6477 Almaden Expy | 2019-03-15 | 24 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-16 | 1 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-16 | 2 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-16 | 3 | 2 | 39.18423 | 38.59989 |
| Safeway | 6477 Almaden Expy | 2019-03-16 | 4 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-16 | 5 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-16 | 6 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-16 | 7 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-16 | 8 | 3 | 58.77634 | 57.89984 |
| Safeway | 6477 Almaden Expy | 2019-03-16 | 9 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-16 | 10 | 4 | 78.36846 | 77.19979 |
| Safeway | 6477 Almaden Expy | 2019-03-16 | 11 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-16 | 12 | 3 | 58.77634 | 57.89984 |
| Safeway | 6477 Almaden Expy | 2019-03-16 | 13 | 5 | 97.96057 | 96.49974 |
| Safeway | 6477 Almaden Expy | 2019-03-16 | 14 | 5 | 97.96057 | 96.49974 |
| Safeway | 6477 Almaden Expy | 2019-03-16 | 15 | 5 | 97.96057 | 96.49974 |
| Safeway | 6477 Almaden Expy | 2019-03-16 | 16 | 4 | 78.36846 | 77.19979 |
| Safeway | 6477 Almaden Expy | 2019-03-16 | 17 | 6 | 117.55268 | 115.79968 |
| Safeway | 6477 Almaden Expy | 2019-03-16 | 18 | 9 | 176.32903 | 173.69952 |
| Safeway | 6477 Almaden Expy | 2019-03-16 | 19 | 4 | 78.36846 | 77.19979 |
| Safeway | 6477 Almaden Expy | 2019-03-16 | 20 | 4 | 78.36846 | 77.19979 |
| Safeway | 6477 Almaden Expy | 2019-03-16 | 21 | 3 | 58.77634 | 57.89984 |
| Safeway | 6477 Almaden Expy | 2019-03-16 | 22 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-16 | 23 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-16 | 24 | 2 | 39.18423 | 38.59989 |
| Safeway | 6477 Almaden Expy | 2019-03-17 | 1 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-17 | 2 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-17 | 3 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-17 | 4 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-17 | 5 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-17 | 6 | 0 | 0.00000 | 0.00000 |
| Safeway | 6477 Almaden Expy | 2019-03-17 | 7 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-17 | 8 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-17 | 9 | 3 | 58.77634 | 57.89984 |
| Safeway | 6477 Almaden Expy | 2019-03-17 | 10 | 3 | 58.77634 | 57.89984 |
| Safeway | 6477 Almaden Expy | 2019-03-17 | 11 | 9 | 176.32903 | 173.69952 |
| Safeway | 6477 Almaden Expy | 2019-03-17 | 12 | 4 | 78.36846 | 77.19979 |
| Safeway | 6477 Almaden Expy | 2019-03-17 | 13 | 8 | 156.73691 | 154.39958 |
| Safeway | 6477 Almaden Expy | 2019-03-17 | 14 | 6 | 117.55268 | 115.79968 |
| Safeway | 6477 Almaden Expy | 2019-03-17 | 15 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-17 | 16 | 6 | 117.55268 | 115.79968 |
| Safeway | 6477 Almaden Expy | 2019-03-17 | 17 | 5 | 97.96057 | 96.49974 |
| Safeway | 6477 Almaden Expy | 2019-03-17 | 18 | 4 | 78.36846 | 77.19979 |
| Safeway | 6477 Almaden Expy | 2019-03-17 | 19 | 4 | 78.36846 | 77.19979 |
| Safeway | 6477 Almaden Expy | 2019-03-17 | 20 | 4 | 78.36846 | 77.19979 |
| Safeway | 6477 Almaden Expy | 2019-03-17 | 21 | 3 | 58.77634 | 57.89984 |
| Safeway | 6477 Almaden Expy | 2019-03-17 | 22 | 1 | 19.59211 | 19.29995 |
| Safeway | 6477 Almaden Expy | 2019-03-17 | 23 | 5 | 97.96057 | 96.49974 |
| Safeway | 6477 Almaden Expy | 2019-03-17 | 24 | 0 | 0.00000 | 0.00000 |
ggplot()+
geom_line(
data = sj_grocery_patterns_W190311_hourly %>%
group_by(date, hour) %>%
summarize(visit_counts_hourly_high = sum(visit_counts_hourly_high)),
aes(
x = hour,
y = visit_counts_hourly_high,
group = date,
color = date
)
)
ggplot(
data = sj_grocery_patterns_W190311_hourly %>%
group_by(safegraph_place_id) %>%
arrange(date,hour) %>%
mutate(
hour_full = 1:168
) %>%
ungroup() %>%
group_by(hour_full) %>%
summarize(
visit_counts_hourly_high = sum(visit_counts_hourly_high),
visit_counts_hourly_low = sum(visit_counts_hourly_low)
)
) +
geom_line(
aes(
x = hour_full,
y = visit_counts_hourly_high
)
) +
geom_line(
aes(
x = hour_full,
y = visit_counts_hourly_low
)
)